.js .loading:after,
.js .loading:before {
	content: "";
	position: fixed;
	z-index: 1000
}

.js .loading:before {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-bg)
}

.js .loading:after {
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	border-radius: 50%;
	opacity: .4;
	background: var(--color-link);
	animation: loaderAnim .7s linear infinite alternate forwards
}

@keyframes loaderAnim {
	to {
		opacity: 1;
		transform: scale3d(.5, .5, 1)
	}
}


.unbutton {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit
}

.unbutton:focus {
	outline: none
}


.cursor {
	display: none
}

.item {
	flex: none;
	padding: 1rem
}

.item__meta {
	font-size: .85rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #000
}

.item__meta-title {
	font-family: meno-banner, serif;
	font-weight: 400;
	font-size: 1.75rem;
	margin: 0
}

.item__meta-detail {
	color: var(--color-text-alt)
}

.item__meta>* {
	will-change: transform, opacity
}

.thumb {
	position: relative;
	margin: 0;
	width: 200px;
	height: 220px;
	overflow: hidden
}

.thumb__caption {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 1rem;
	background: #000;
	transform: translate3d(0, 100%, 0)
}

.thumb__caption-link {
	display: block;
	cursor: pointer
}

.thumb__caption-link:hover {
	color: var(--color-thumb-caption-link-hover)
}

.thumb__caption-title {
	color: var(--color-thumb-caption-title)
}

.distort {
	pointer-events: none;
	margin: -115px 0 0 -75px
}

@media screen and (min-width:74em) {
	.frame {
		text-align: left;
		top: 0;
		left: 0;
		display: grid;
		align-content: space-between;
		max-width: none;
		padding: 2rem 2rem 0;
		grid-template-columns: 52vw auto;
		grid-template-areas: "pagetitle links" "title title"
	}
	.frame,
	.frame__title {
		width: 100%;
		pointer-events: none
	}
	.frame__title {
		line-height: .7;
		grid-area: title;
		font-size: 16.4vw;
		text-align: center;
		white-space: nowrap;
		margin: 0 0 4vw
	}
	.frame__pagetitle {
		position: relative;
		margin-right: 1rem;
		justify-self: end;
		grid-area: pagetitle
	}
	.frame__demos {
		margin: 0;
		grid-area: demos;
		justify-self: end
	}
	.frame__links {
		grid-area: links;
		padding: 0;
		justify-self: end
	}
	.frame a {
		pointer-events: auto
	}
	.content {
		z-index: 1000;
		padding-top: 0;
		justify-content: space-between;
		max-width: none
	}
	.item:nth-child(odd) {
		padding-top: 70px
	}
}

@media (any-pointer:fine) {
	.cursor {
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		pointer-events: none;
		z-index: 10000
	}
	.cursor__inner {
		fill: var(--cursor-fill)
	}
	.no-js .cursor {
		display: none
	}
}